package com.zhoukx.flyweight;

import java.util.HashMap;

/**
 * @ClassName WebSiteFactory
 * @Description:
 * @Author zhoukx
 * @Date 2020/8/10
 **/
// 网站工厂类  根据需要返回具体的网站
public class WebSiteFactory {

    private HashMap<String,ConcreteWebSite> pool = new HashMap<>();

    // 根据网站的类型，返回一个网站，如果没有就创建一个网站放到池中兵返回
    public WebSite getWebSiteCateGory(String type) {
        if (!pool.containsKey(type)) {
            // 就撞见一个网站，放到池中
            pool.put(type,new ConcreteWebSite(type));
        }
        return  (WebSite) pool.get(type);
    }

    // 获取网站分类的总数
    public int getWebSiteCount(){
        return pool.size();
    }
}
